Computer virtualization is a technique that involves abstracting a physical computing machine platform into a virtual machine that is executed under the control of virtualization software running on a single hardware computing platform (also referred to herein as “host system” or “host computer”). A group of hardware computing platforms may be organized as a cluster to provide the hardware resources for virtual machines. In a server or data center that employs virtual machines, it is common to see hundreds, even thousands, of virtual machines running on multiple clusters of host systems.
When a user wishes to access a virtual machine executing on a server, the user is typically required to authenticate with the server. Modern computing systems provide various methods for user authentication. One common authentication technique employs a username and password, where the user enters his or her user identifier and a secret password that only the user knows. The username and password, or a representation thereof, are transmitted over a computing network from a user-side client device to the server. The server checks whether the username and password are valid before giving the user access to the virtual machine.
In addition to network-based computer virtualization, modern virtualization techniques allow users to execute virtual machines locally on the user-side client device. For example, the VMware® View™ desktop virtualization software includes a “Local Mode” that allows a user to “check out” a virtual machine from the server onto the user-side client device for local execution. Since the checked-out virtual machine can be executed locally on the user-side client device, the user is able to access all the files and application of the virtual machine, even in the absence of a network connection to the server.